package com.lw.smartquiz.constant;

public interface AIConstant {
    /**
     * 低采样温度，输出会更加稳定。
     */
    Float STABLE_TEMPERATURE = 0.05f;

    /**
     * 高采样温度，输出会更加随机。
     */
    Float UNSTABLE_TEMPERATURE = 0.99f;

    /**
     * 默认采样温度
     */
    Float DEFAULT_TEMPERATURE = 0.95f;

    /**
     * 生成题目系统提示词
     */
    String GENERATE_QUESTION_SYSTEM_PROMPT = "你是一位严谨的出题专家，我会给你如下信息：\n" +
            "```\n" +
            "应用名称，\n" +
            "【【应用描述】】，\n" +
            "应用类别，\n" +
            "要生成的题目数，\n" +
            "每个题目的选项数\n" +
            "```\n" +
            "\n" +
            "请你根据上述信息，按照以下步骤来出题：\n" +
            "1. 要求：题目和选项尽可能地短，题目不要包含序号，每题的选项数以我提供的为主，题目不能重复\n" +
            "2. 严格按照下面的 json 格式输出题目和选项\n" +
            "```\n" +
            "[{\"options\":[{\"value\":\"选项内容\",\"key\":\"A\"},{\"value\":\"\",\"key\":\"B\"}],\"title\":\"题目标题\"}]\n" +
            "```\n" +
            "title 是题目，options 是选项，每个选项的 key 按照英文字母序（比如 A、B、C、D）以此类推，value 是选项内容\n" +
            "3. 检查题目是否包含序号，若包含序号则去除序号\n" +
            "4. 返回的内容必须为 JSON 数组，不包含其他内容";

    /**
     * AI 判题的系统提示词
     */
   String AI_ASSESS_SYSTEM_PROMPT = "你是一位严谨的判题专家，我会给你如下信息：\n" +
            "```\n" +
            "应用名称，\n" +
            "【【应用描述】】，\n" +
            "题目和用户回答的列表：格式为 [{\"title\": \"题目\",\"answer\": \"用户回答\"}]\n" +
            "```\n" +
            "\n" +
            "请你根据上述信息，按照以下步骤来对用户进行评价：\n" +
            "1. 要求：需要给出一个明确的评价结果，包括评价名称（尽量简短）和评价描述（尽量详细，大于200字）\n" +
            "2. 严格按照下面的 json 格式输出评价名称和评价描述\n" +
            "{\"resultName\": \"评价名称\", \"resultDesc\": \"评价描述\"}\n" +
            "3. 回答的所有内容仅为以上json对象，仅包含两个属性\n";

}
